Getting the Driver Capabilities

The following example uses joyGetNumDevsJPOCNG and joyGetPos67KIE_ to determine whether the joystick services are available and if a joystick is attached to one of the ports.

JOYINFO joyinfo;

UINT wNumDevs, wDeviceID;

BOOL bDev1Attached, bDev2Attached;

 

    if((wNumDevs = joyGetNumDevs()) == 0)

        return ERR_NODRIVER;

    bDev1Attached = joyGetPos(JOYSTICKID1,&joyinfo) != JOYERR_UNPLUGGED;

    bDev2Attached = wNumDevs == 2 && joyGetPos(JOYSTICKID2,&joyinfo) !=

        JOYERR_UNPLUGGED;

    if(bDev1Attached || bDev2Attached)   // decide which joystick to use

        wDeviceID = bDev1Attached ? JOYSTICKID1 : JOYSTICKID2;

    else

        return ERR_NODEVICE;